#此扩展用于的模块扩展处理,用于支撑模块的
#   SUPPORT_3RD_PKG_NAME:
#       用于标准后期适配库的包名称
#       EWX里后期脚本使用变量都与此变量有关系
#       查找包的名称可与之相同也可以不同
#   EWX_HAS_CONAN_ENV:
#       此变量是公共cmake模块查找conan环境决定的变量类型
#       目的是为了支撑conan方式和非conan方式的同时处理
#   此模块主要决定以下几个环境支撑
#   [1]查找模块
#   [2]编绎目标
#   [3]调试环境变量:
#       生成VS调试环境的变量处理
#   安装:
#       自动安装库文件到安装目录
include(support_3rd_utils)
SET(SUPPORT_3RD_PKG_NAME Model_Service)

IF(EWX_HAS_CONAN_ENV)
    message(NOTICE "${SUPPORT_3RD_PKG_NAME} Use Conan Env Mode....\n  CONAN_MODEL_SERVICE_ROOT=${CONAN_MODEL_SERVICE_ROOT}")
    
    #这里自动适配 CONAN
    IF(NOT ${SUPPORT_3RD_PKG_NAME}_ROOT_DIR OR NOT EXISTS ${${SUPPORT_3RD_PKG_NAME}_ROOT_DIR})
        SET(${SUPPORT_3RD_PKG_NAME}_ROOT_DIR ${CONAN_MODEL_SERVICE_ROOT})
    ENDIF()
ELSE()
    message(NOTICE "${SUPPORT_3RD_PKG_NAME} Use Normal Package Mode....")

    #这里通过手动适配三方库
    IF(NOT ${SUPPORT_3RD_PKG_NAME}_ROOT_DIR OR NOT EXISTS ${${SUPPORT_3RD_PKG_NAME}_ROOT_DIR})
        #SET(${SUPPORT_3RD_PKG_NAME}_ROOT_DIR ${PROJECT_3RDPARTY_DIR}/Model_Service-2.1.0-x64-vs2017)
        SEARCH_3RD_MAYBE_PATH(${SUPPORT_3RD_PKG_NAME}_ROOT_DIR 
            ${PROJECT_3RDPARTY_DIR}/Model_Service-2.1.4-x64-vs2017
            ${PROJECT_3RDPARTY_DIR}/Model_Service-2.1.4
        )
    ENDIF()
ENDIF()

#=====================================================
#执行模块通用查找.

find_package(${SUPPORT_3RD_PKG_NAME} REQUIRED)
    
#调试环境变量
MAKE_3RD_PKG_RUNTIME(${SUPPORT_3RD_PKG_NAME} ${${SUPPORT_3RD_PKG_NAME}_ROOT_DIR})

#打包使用
INSTALL_3RD_PKG(${SUPPORT_3RD_PKG_NAME} ${${SUPPORT_3RD_PKG_NAME}_ROOT_DIR})
#=====================================================
